今天我們來使用Spring Boot 建立一個簡單的RESTful API範例。在這個範例中,我們會建一個用於管理API的類別。我們將為新增、刪除、更新和搜尋提供供方法節點。
首先讓我們建立一個用於API的Entity類別:
@Entity
public class Task {
private Long id;
private String title;
private boolean completed;
// getter和setter
}
建立一個處理HTTP請求的controller,在這個類別我們會定義RESTful節點。
// TaskController.java
@RestController
@RequestMapping("/tasks")
public class ApiController {
@Autowired
TaskRepository taskRepository;
@GetMapping
public List<Task> getTasks() {
return tasks;
}
@GetMapping("/{getTask}")
public ResponseEntity<Task> getTask(@PathVariable Long id) {
Task task = taskRepository.findTaskById(id);
if (task != null) {
return ResponseEntity.success(task);
} else {
return ResponseEntity.fail();
}
}
@PostMapping
public Task createTask(@RequestBody Task task) {
taskRepository.add(task);
return task;
}
@PutMapping("/{updateTask}")
public ResponseEntity<Task> updateTask(@PathVariable Long id, @RequestBody Task updatedTask) {
Task task = taskRepository.findTaskById(id);
if (task != null) {
task.setTitle(updatedTask.getTitle());
task.setCompleted("true");
return ResponseEntity.success(task);
} else {
return ResponseEntity.fail();
}
}
@DeleteMapping("/{deleteTask}")
public ResponseEntity<Void> deleteTask(@PathVariable Long id) {
Task task = taskRepository.findTaskById(id);
if (task != null) {
tasks.remove(task);
return ResponseEntity.success(task);
} else {
return ResponseEntity.fail();
}
}
}
現在,我們可以執行Spring Boot應用程式。Spring Boot 會執行內嵌的Web服務器,我們就可以呼叫該RESTful API指定的節點就可以進入我們API的方法咯。
https://www.techtarget.com/searchapparchitecture/definition/RESTful-API
https://spring.io/guides/tutorials/rest/
https://www.baeldung.com/rest-with-spring-series